package com.ruoyi.system.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.ProjectSchedule;

/**
 * 项目进度Service接口
 * 
 * @author zhaonz
 * @date 2023-06-02
 */
public interface IProjectScheduleService extends IService<ProjectSchedule>
{
    /**
     * 查询项目进度列表
     *
     * @param projectSchedule 项目进度
     * @return 项目进度集合
     */
    public List<ProjectSchedule> list(ProjectSchedule projectSchedule);

    /**
     * 查询项目进度列表
     *
     * @param projectId 项目id
     * @return 项目进度集合
     */
    public List<ProjectSchedule> list(Long projectId);

    /**
     * 查询项目进度
     *
     * @param scheduleId 项目进度主键
     * @return 项目进度
     */
    public ProjectSchedule selectProjectScheduleByScheduleId(Long scheduleId);

    /**
     * 查询项目进度列表
     *
     * @param projectSchedule 项目进度
     * @return 项目进度集合
     */
    public List<ProjectSchedule> selectProjectScheduleList(ProjectSchedule projectSchedule);

    /**
     * 新增项目进度
     *
     * @param projectSchedule 项目进度
     * @return 结果
     */
    public int insertProjectSchedule(ProjectSchedule projectSchedule);

    /**
     * 修改项目进度
     *
     * @param projectSchedule 项目进度
     * @return 结果
     */
    public int updateProjectSchedule(ProjectSchedule projectSchedule);

    /**
     * 批量删除项目进度
     *
     * @param scheduleIds 需要删除的项目进度主键集合
     * @return 结果
     */
    public int removeByIds(String scheduleIds);

    /**
     * 批量删除项目进度
     *
     * @param scheduleIds 需要删除的项目进度主键集合
     * @return 结果
     */
    public int deleteProjectScheduleByScheduleIds(String scheduleIds);

    /**
     * 删除项目进度信息
     *
     * @param scheduleId 项目进度主键
     * @return 结果
     */
    public int deleteProjectScheduleByScheduleId(Long scheduleId);
}
